package ua.simplecoding.kievhome.domain;

import javax.persistence.*;
import java.io.Serializable;
import java.util.List;

@Entity
@Table(name = "appartment_details")
public class AppartmentDetails extends AbstractPrimaryEntity implements Serializable {

    @Column(name = "room_count")
    private Integer roomCount;
    @Column(name = "stage_number")
    private Integer stageNumber;
    @Column(name = "total_stage_count")
    private Integer totalStageCount;
    @Column(name = "total_square")
    private Integer totalSquare;
    @Column(name = "living_square")
    private Integer livingSquare;
    @Column(name = "kitchen_square")
    private Integer kitchenSquare;

    @OneToMany(fetch = FetchType.EAGER, mappedBy = "appartmentDetails")
    private List<AppartmentImage> appartmentImages;

    @OneToOne(fetch = FetchType.EAGER, mappedBy = "appartmentDetails")
    private Appartment appartment;

    public AppartmentDetails(int id) {
        super(id);
    }

    public AppartmentDetails() {
    }

    public Integer getStageNumber() {
        return stageNumber;
    }

    public void setStageNumber(Integer stageNumber) {
        this.stageNumber = stageNumber;
    }

    public Integer getTotalStageCount() {
        return totalStageCount;
    }

    public void setTotalStageCount(Integer totalStageCount) {
        this.totalStageCount = totalStageCount;
    }

    public Integer getTotalSquare() {
        return totalSquare;
    }

    public void setTotalSquare(Integer totalSquare) {
        this.totalSquare = totalSquare;
    }

    public Integer getLivingSquare() {
        return livingSquare;
    }

    public void setLivingSquare(Integer livingSquare) {
        this.livingSquare = livingSquare;
    }

    public Integer getKitchenSquare() {
        return kitchenSquare;
    }

    public void setKitchenSquare(Integer kitchenSquare) {
        this.kitchenSquare = kitchenSquare;
    }

    public List<AppartmentImage> getAppartmentImages() {
        return appartmentImages;
    }

    public void setAppartmentImages(List<AppartmentImage> appartmentImages) {
        this.appartmentImages = appartmentImages;
    }

    public Integer getRoomCount() {
        return roomCount;
    }

    public void setRoomCount(Integer roomCount) {
        this.roomCount = roomCount;
    }

    public Appartment getAppartment() {
        return appartment;
    }

    public void setAppartment(Appartment appartment) {
        this.appartment = appartment;
    }
}
